<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // call()通过函数调用,可以改变调用这个call方法中的this指向
        // 参数1:this要改为的那个值; 参数2: 开始就是调用函数需要的参数

        // 1.体验
        function fn(a, b) {
            console.log(a + b);
            console.log(this);
        }

        fn(1, 2) // 直接调用this指向window
        let obj = { name: '张三', age: 22 }
        fn.call(obj, 222, 233)    // 此时this指向了obj对象

        // 2.应用
        console.log(Object.prototype.toString.call('abc'));
        console.log(Object.prototype.toString.call(12345));
        console.log(Object.prototype.toString.call(true));
        console.log(Object.prototype.toString.call([1, 2, 3]));
        console.log(Object.prototype.toString.call(new Date()));





    </script>
</body>

</html>